github: add CI build
authorÁlvaro Fernández Rojas <[email protected]>
Sun, 12 Oct 2025 15:39:37 +0000 (17:39 +0200)
committerÁlvaro Fernández Rojas <[email protected]>
Sun, 12 Oct 2025 20:09:00 +0000 (22:09 +0200)
Add Github CI supporting different architectures.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
.github/workflows/ci.yml [new file with mode: 0644]

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644 (file)
index 0000000..dd53af8
--- /dev/null
@@ -0,0 +1,48 @@
+name: libnl-tiny
+
+on:
+  pull_request:
+  push:
+
+jobs:
+  build:
+    name: Build ${{ matrix.arch }}
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - arch: aarch64
+            gcc: /usr/bin/aarch64-linux-gnu-gcc
+            packages: gcc-aarch64-linux-gnu
+          - arch: arm
+            gcc: /usr/bin/arm-linux-gnueabi-gcc
+            packages: gcc-arm-linux-gnueabi
+          - arch: mips
+            gcc: /usr/bin/mips-linux-gnu-gcc
+            packages: gcc-mips-linux-gnu
+          - arch: x86_64
+            gcc: /usr/bin/x86_64-linux-gnu-gcc
+            packages: gcc-x86-64-linux-gnu
+
+    steps:
+      - name: Checkout libnl-tiny
+        uses: actions/checkout@v5
+
+      - name: Install dependencies
+        run: |
+          sudo apt install ${{ matrix.packages }}
+
+      - name: Prepare build
+        run: |
+          mkdir -p ${GITHUB_WORKSPACE}/build
+
+      - name: Build libnl-tiny
+        run: |
+          cmake \
+            -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} \
+            -DCMAKE_C_COMPILER=${{ matrix.gcc }} \
+            -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build \
+            --install-prefix ${GITHUB_WORKSPACE}/build
+          make
+          make install